package com.tm.car.code;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 响应状态码枚举类。
 * 该类定义了系统中常用的响应状态码及其对应的消息，用于统一管理返回结果的状态码和提示信息。
 * 主要功能包括：
 * 1. 提供标准化的状态码和消息，便于前端和后端统一处理。
 * 2. 支持常见的业务场景，如成功、失败、无效 Token、未绑定微信账号等。
 * <p>
 * 主要枚举值说明：
 * - `SUCC`：操作成功，状态码为 0。
 * - `INVALID_TOKEN`：无效的 Token，状态码为 301。
 * - `UNBOUND_WECHAT`：微信用户未绑定平台账号，状态码为 302。
 * - `FAIL`：操作失败，状态码为 303。
 * - `INVALID_APPID_OR_SECRET`：无效的 AppID 或 Secret，状态码为 304。
 * <p>
 * 主要字段说明：
 * - `code`：状态码，用于标识具体的业务状态。
 * - `message`：状态消息，用于描述状态码对应的提示信息。
 * <p>
 * 使用场景：
 * 1. 适用于需要统一管理响应状态码和消息的场景。
 * 2. 支持在返回结果中传递状态码和消息，便于前端处理。
 *
 * @author tnk
 */
@Getter
@AllArgsConstructor
public enum ResultMapCode {
    SUCC(0, "成功"),
    INVALID_TOKEN(301, "无效token"),
    UNBOUND_WECHAT(302, "微信用户未绑定平台账号"),
    FAIL(303, "失败"),
    INVALID_APPID_OR_SECRET(304, "appid或secret无效"),
    PARAMETER_ERROR(305, "参数错误"),
    OPERATION_TIMEOUT(306, "操作超时");

    public final Integer code;

    public final String message;

}